home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / TPUG Xtras / Xtras / club1.d64 / draw poker64.9 (.txt) < prev    next >
Commodore BASIC  |  2009-02-07  |  6KB  |  379 lines

  1. 1 PRINT"[147]"
  2. 2 REM *** DRAW POKER BY DAVE HOWE
  3. 3 REM     SUBMITTED BY ED HERSTEIN
  4. 4 REM
  5. 5 REM *** PET USER GROUP
  6. 6 REM     SOFTWARE EXCHANGE
  7. 7 REM     PO BOX 371
  8. 8 REM     MONTGOMERYVILLE, PA 18936
  9. 9 REM **64 CHANGES BY FRED LAYBERGER, OMAHA NEBRASKA
  10. 10 DIMG1(5),F7(35),F8(35),F9(35)
  11. 20 DIMC5(6),C6(5),C7(5),C8(7),C9(52)
  12. 30 M$=" ":TX=54272:TC=11
  13. 40 P1=1024:P2=40:ZC=55296
  14. 45 POKE53280,5:POKE53281,1
  15. 50 W=0
  16. 60 PRINT"[147]";
  17. 70 PRINT"GET READY FOR DRAW POKER"
  18. 80 GOSUB5700
  19. 90 PRINT"[147][151]";
  20. 100 PRINT"LET'S PLAY DRAW POKER";
  21. 110 PRINTTAB(26);"HAND  ODDS":PRINT
  22. 120 PRINTTAB(19);"ROYAL FLUSH:200 TO 1"
  23. 130 PRINTTAB(16);"STRAIGHT FLUSH:50 TO 1"
  24. 140 PRINTTAB(16);"FOUR OF A KIND:30 TO 1"
  25. 150 PRINTTAB(20);"FULL HOUSE:20 TO 1"
  26. 160 PRINTTAB(25);"FLUSH:10 TO 1"
  27. 170 PRINTTAB(22);"STRAIGHT:7 TO 1"
  28. 180 PRINTTAB(15);"THREE OF A KIND:5 TO 1"
  29. 190 PRINTTAB(22);"TWO PAIR:2 TO 1"
  30. 200 GOSUB5400
  31. 210 INPUT"PLACE YOUR BETS: HOW MANY DOLLARS[151]";D
  32. 212 IFD>10000GOTO5950
  33. 215 IFD<1GOTO5900
  34. 220 P=P1+15*P2
  35. 230 GOSUB 6000
  36. 240 M$="YOUR BET IS:"
  37. 250 L=LEN(M$)
  38. 260 P=P1+2*P2
  39. 270 GOSUB6100
  40. 280 M$="$"+STR$(D)
  41. 290 L=LEN(M$)
  42. 300 P=P1+3*P2
  43. 310 GOSUB6100
  44. 315 M$="YOU WIN":P=P1+31:GOSUB6100
  45. 320 FOR S=1TO8
  46. 330 GOSUB5200
  47. 340 P=P1+111+P2*(8-S)
  48. 350 L=8
  49. 360 M$="$"+STR$(W1)
  50. 370 GOSUB6100
  51. 380 NEXTS
  52. 390 GOSUB7000
  53. 400 FORY=1TO5
  54. 410 GOSUB7100
  55. 420 GOSUB2000
  56. 430 NEXTY
  57. 440 GOSUB8000
  58. 450 SX=S
  59. 460 GOSUB5100
  60. 500 M$="DO YOU WISH TO STAND? ENTER Y OR N"
  61. 510 P=P1+11*P2
  62. 520 GOSUB6000
  63. 530 GETQ$
  64. 540 IFQ$=""GOTO530
  65. 550 IFQ$="Y"GOTO1500
  66. 560 IFQ$="N"GOTO600
  67. 570 IFQ$<"0"GOTO530
  68. 580 IFQ$>"5"GOTO530
  69. 600 M$="INDICATE CARD TO HOLD BY ENTERING CARD #"
  70. 610 P=P1+11*P2
  71. 620 GOSUB6000
  72. 630 M$="TO CANCEL YOUR CHOICES, ENTER 'C'"
  73. 640 P=P1+12*P2
  74. 650 GOSUB6000
  75. 660 M$="WHEN READY FOR DRAW, PRESS RETURN KEY"
  76. 670 P=P1+13*P2
  77. 680 GOSUB6000
  78. 700 FORI=1TO5
  79. 710 G1(I)=0
  80. 720 NEXTI
  81. 730 P=P1+24*P2
  82. 740 GOSUB6000
  83. 750 IFQ$<>"C"GOTO810
  84. 800 GETQ$
  85. 810 IFQ$=""GOTO800
  86. 820 Q=ASC(Q$)
  87. 830 IFQ=13GOTO970
  88. 840 IFQ$="C"GOTO700
  89. 850 IFQ$<"1"GOTO800
  90. 860 IFQ$>"5"GOTO800
  91. 900 Y=VAL(Q$)
  92. 910 G1(Y)=1
  93. 920 P=P1+24*P2+2+8*(Y-1)
  94. 930 M$="HOLD"
  95. 940 L=LEN(M$)
  96. 950 GOSUB6100
  97. 960 GOTO800
  98. 970 P=P1+11*P2:GOSUB6000
  99. 980 P=P1+12*P2:GOSUB6000
  100. 990 P=P1+13*P2:GOSUB6000
  101. 1000 FORY=1TO5
  102. 1010 IFG1(Y)=0THENGOSUB5000
  103. 1020 NEXTY
  104. 1030 GOSUB8000
  105. 1040 IFSX=SGOTO1100
  106. 1050 GOSUB5100
  107. 1060 SX=S
  108. 1100 FORY=1TO5
  109. 1110 IFG1(Y)=1GOTO1140
  110. 1120 GOSUB7100
  111. 1130 GOSUB2000
  112. 1140 NEXTY
  113. 1150 GOSUB8000
  114. 1160 IFSX=SGOTO1200
  115. 1170 GOSUB5100
  116. 1180 SX=S
  117. 1190 GOSUB5100
  118. 1200 REM
  119. 1500 GOSUB5200
  120. 1510 W=W+W1
  121. 1520 IFW<0THENM$="YOUR TOTAL LOSES ARE $"+STR$(-W)
  122. 1530 IFW>=0THENM$="YOUR TOTAL WINNINGS ARE $"+STR$(W)
  123. 1540 P=P1+11*P2
  124. 1550 GOSUB6000
  125. 1600 X=300
  126. 1610 X=X-1
  127. 1612 GETG$
  128. 1614 IFG$<>""GOTO1900
  129. 1620 IFX>0GOTO1610
  130. 1900 GOTO90
  131. 2000 H=C2-7
  132. 2020 IFH<4THENH=1
  133. 2030 FORI=1TO7
  134. 2040 C8(I)=H
  135. 2050 NEXTI
  136. 2100 ONC2GOTO2110,2210,2200,2520,2410,2510,2500,2310,2400,2300,3000,3000,3000
  137. 2110 C8(4)=2
  138. 2120 GOTO3000
  139. 2200 C8(4)=2
  140. 2210 C8(2)=2:C8(6)=2
  141. 2230 GOTO3000
  142. 2300 C8(2)=2:C8(6)=2
  143. 2310 C8(3)=3:C8(5)=3
  144. 2320 GOTO2520
  145. 2400 C8(3)=3:C8(5)=3
  146. 2410 C8(4)=2
  147. 2420 GOTO2520
  148. 2500 C8(3)=2
  149. 2510 C8(4)=3
  150. 2520 C8(1)=3:C8(7)=3
  151. 3000 A=P1+15*P2+8*(Y-1)
  152. 3010 C3=(ASC(C2$)AND63)+128
  153. 3020 POKEA,C3:POKEA+TX,TC
  154. 3030 ZZ=15:ZX=160:A1=ZX
  155. 3050 E=6
  156. 3060 GOSUB4000
  157. 3065 IFC2=10THENPOKEA+1,ASC("0")+128:POKEA+1+TX,TC
  158. 3070 C4=ASC(C1$):REM     -128
  159. 3072 F7(5)=C4:F7(31)=C4
  160. 3074 F8(1)=C4:F8(35)=C4
  161. 3076 F9(1)=C4:F9(35)=C4
  162. 3080 FORI=1TO7
  163. 3090 A=A+40
  164. 3100 POKEA,ZX:POKEA+TX,ZZ
  165. 3110 ONC8(I)GOSUB4100,4200,4300,4400,4500,4600
  166. 3120 POKEA+6,ZX:POKEA+6+TX,ZZ
  167. 3130 NEXTI
  168. 3140 A=A+39
  169. 3150 IFC2=10THENE=5
  170. 3160 GOSUB4000
  171. 3170 POKEA+E+1,C3:POKEA+E+1+TX,TC
  172. 3180 IFC2=10THENPOKEA+7,ASC("0")+128:POKEA+7+TX,TC
  173. 3190 C6(Y)=C1
  174. 3200 C7(Y)=C2
  175. 3300 RETURN
  176. 4000 FORI=1TOE
  177. 4010 POKEA+I,A1:POKEA+I+TX,ZZ
  178. 4020 A1=ZX
  179. 4030 NEXTI
  180. 4040 RETURN
  181. 4100 FORX=1TO5
  182. 4110 POKEA+X,ZX:POKEA+X+TX,ZZ
  183. 4120 NEXTX
  184. 4130 RETURN
  185. 4200 POKEA+1,ZX:POKEA+1+TX,ZZ
  186. 4210 POKEA+2,ZX:POKEA+2+TX,ZZ
  187. 4220 POKEA+3,C4:POKEA+3+TX,TC
  188. 4230 POKEA+4,ZX:POKEA+4+TX,ZZ
  189. 4240 POKEA+5,ZX:POKEA+5+TX,ZZ
  190. 4250 RETURN
  191. 4300 POKEA+1,C4:POKEA+1+TX,TC
  192. 4310 POKEA+2,ZX:POKEA+2+TX,ZZ
  193. 4320 POKEA+3,ZX:POKEA+3+TX,ZZ
  194. 4330 POKEA+4,ZX:POKEA+4+TX,ZZ
  195. 4340 POKEA+5,C4:POKEA+5+TX,TC
  196. 4350 RETURN
  197. 4400 FORX=1TO5
  198. 4410 X1=5*(I-1)+X
  199. 4420 POKEA+X,F7(X1):POKEA+X+TX,TC
  200. 4430 NEXTX
  201. 4440 RETURN
  202. 4500 FORX=1TO5
  203. 4510 X1=5*(I-1)+X
  204. 4520 POKEA+X,F8(X1):POKEA+X+TX,TC
  205. 4530 NEXTX
  206. 4540 RETURN
  207. 4600 FORX=1TO5
  208. 4610 X1=5*(I-1)+X
  209. 4620 POKEA+X,F9(X1):POKEA+X+TX,TC
  210. 4630 NEXTX
  211. 4640 RETURN
  212. 5000 REM CLEAR CARD
  213. 5010 A=P1+15*P2+8*(Y-1)-1
  214. 5020 FORI=1TO9
  215. 5030 FORX=1TO7
  216. 5040 POKEA+X,32
  217. 5050 NEXTX
  218. 5060 A=A+40
  219. 5070 NEXTI
  220. 5075 C6(Y)=15+2*Y
  221. 5078 C7(Y)=15+2*Y
  222. 5080 RETURN
  223. 5100 REM HIGHLIGHT SCREEN
  224. 5108 IFSX=0GOTO5190
  225. 5109 GOSUB9550:REM * BELL SOUND
  226. 5110 P=P1+94+P2*(8-SX)
  227. 5120 X=0
  228. 5130 FOR I=1TO24
  229. 5140 N=PEEK(P+I)
  230. 5150 IF(N=32)AND(X=0)GOTO5180
  231. 5160 X=1
  232. 5170 POKEP+I,(N+128)AND255:POKEP+I+TX,11
  233. 5180 NEXTI
  234. 5190 RETURN
  235. 5200 ONSGOTO5220,5240,5260,5280,5300,5320,5340,5360
  236. 5201 GOSUB9500:REM * BUZZER
  237. 5205 W1=-D
  238. 5210 RETURN
  239. 5220 W1=2*D
  240. 5230 RETURN
  241. 5240 W1=5*D
  242. 5250 RETURN
  243. 5260 W1=7*D
  244. 5270 RETURN
  245. 5280 W1=10*D
  246. 5290 RETURN
  247. 5300 W1=20*D
  248. 5310 RETURN
  249. 5320 W1=30*D
  250. 5330 RETURN
  251. 5340 W1=50*D
  252. 5350 RETURN
  253. 5360 W1=200*D
  254. 5370 RETURN
  255. 5400 PRINT
  256. 5410 IFW=0THENPRINT
  257. 5420 IFW<0THENPRINT"YOUR TOTAL LOSES  ARE $";-W
  258. 5430 IFW>0THENPRINT"YOUR TOTAL WINNINGS ARE $";W
  259. 5440 PRINT:PRINT:PRINT
  260. 5450 RETURN
  261. 5500 F$=" _[160]) G*5T G[160][160][160] G[160][160][160]H [160][160][160]H Y64H [169][160][223] "
  262. 5510 RETURN
  263. 5530 F$=" )#T [169]G 5 [160][160][160][160];[160][160][160][160][160]<[160][160][160][160] 6 H) Y$[169] "
  264. 5540 RETURN
  265. 5560 F$=" _[160][160]) ' &B[169][160][160][160][188][160][160][160][160][160][187][160][160][160])]& % [169][160][160][223] "
  266. 5570 RETURN
  267. 5600 F7(X1)=F1
  268. 5620 RETURN
  269. 5630 F8(X1)=F1
  270. 5650 RETURN
  271. 5660 F9(X1)=F1
  272. 5680 RETURN
  273. 5700 FORX=1TO3
  274. 5710 FORX1=1TO35:
  275. 5715 PRINT"[147]":PRINT"GET READY FOR DRAW POKER"
  276. 5720 ONXGOSUB5500,5530,5560
  277. 5730 F1=ASC(MID$(F$,X1,1))
  278. 5740 IFF1<96GOTO5760
  279. 5750 IFF1<192THENF1=F1+64
  280. 5760 IFF1<64THENF1=F1+64
  281. 5770 F1=(F1+128)AND255
  282. 5780 ONXGOSUB5600,5630,5660
  283. 5790 NEXTX1
  284. 5800 NEXTX
  285. 5810 RETURN
  286. 5900 PRINT:PRINT"INVALID BET "
  287. 5910 GOTO5960
  288. 5950 PRINT:PRINT"BET TOO HIGH, HOUSE LIMIT IS $10,000"
  289. 5960 X=100
  290. 5970 X=X-1
  291. 5980 IFX>0GOTO5970
  292. 5990 GOTO90
  293. 6000 L=40
  294. 6100 A=P-1
  295. 6110 L1=LEN(M$)
  296. 6120 FORI=1TOL1
  297. 6125 M1$=MID$(M$,I,1)
  298. 6130 POKEA+I,ASC(M1$)AND63:POKEA+I+TX,.
  299. 6140 NEXTI
  300. 6150 A=A+L1
  301. 6160 L=L-L1
  302. 6170 IFL<=0GOTO6210
  303. 6180 FORI=1TOL
  304. 6190 POKEA+I,32
  305. 6200 NEXTI
  306. 6210 M$=" "
  307. 6220 RETURN
  308. 6336 K
  309. 7000 FORI=1TO52
  310. 7010 C9(I)=0
  311. 7030 NEXT I
  312. 7040 B1=0
  313. 7050 RETURN
  314. 7100 IFB1=52THENGOSUB7000
  315. 7120 C=INT(52*RND(1))
  316. 7130 IFC9(C+1)<>0GOTO7120
  317. 7140 B1=B1+1
  318. 7150 C9(C+1)=1
  319. 7160 C1=INT(C/13)+1
  320. 7170 C2=C-13*(C1-1)+1
  321. 7200 C1$=MID$("[193][211][218][216]",C1,1)
  322. 7205 IFC1$=CHR$(218)ORC1$=CHR$(211)THENTC=2
  323. 7206 IFC1$=CHR$(193)ORC1$=CHR$(216)THENTC=11
  324. 7210 C2$=MID$("A234567891JQK",C2,1)
  325. 7230 RETURN
  326. 8000 S=0
  327. 8010 S2=0
  328. 8020 FORI=1TO6
  329. 8030 C5(I)=100
  330. 8040 NEXTI
  331. 8050 FORI=1TO5
  332. 8060 X=5
  333. 8070 IFC7(I)>C5(X)GOTO8110
  334. 8080 C5(X+1)=C5(X)
  335. 8090 X=X-1
  336. 8100 IFX>0GOTO8070
  337. 8110 C5(X+1)=C7(I)
  338. 8120 NEXTI
  339. 8130 IFC5(1)=1THENC5(6)=14
  340. 8140 S1=0
  341. 8210 FORI=1TO4
  342. 8220 IFC6(I)=C6(I+1)THENS1=S1+1
  343. 8230 NEXTI
  344. 8240 IFS1=4THENS=4
  345. 8250 S1=0
  346. 8260 FORI=1TO5
  347. 8270 IFC5(I)+1=C5(I+1)THENS1=S1+1
  348. 8280 NEXTI
  349. 8290 IFS1=4THENS=S+S1-1
  350. 8300 IF(S=7)AND(C5(5)=13)THENS=S+1
  351. 8330 S1=-1
  352. 8340 FORI=1TO4
  353. 8350 IFC5(I)=C5(I+1)THENS1=S1+1
  354. 8360 IFC5(I)=C5(I+2)THENS1=S1+1
  355. 8370 NEXTI
  356. 8380 IFS1>2THENS1=S1+2
  357. 8390 IFS1>STHENS=S1
  358. 8400 RETURN
  359. 9000 FORI=1TO5
  360. 9010 INPUT"[156]ENTER SUIT #, CARD #";C6(I),C7(I)
  361. 9020 NEXTI
  362. 9030 GOSUB8000
  363. 9035 PRINT
  364. 9040 PRINT"S=";S
  365. 9044 PRINT
  366. 9045 PRINT"C5","C6","C7
  367. 9050 [129]I[178]1[164]6
  368. 9060 [153]C5(I),C6(I),C7(I)
  369. 9070 [130]I
  370. 9080 [137]9000
  371. 9500 [143] ** BUZZER
  372. 9505 [151]54296,15:[151]54277,45:[151]54278,165
  373. 9510 [151]54276,33:[151]54273,6:[151]54272,5
  374. 9515 [129]T[178]1[164]200:[130]:[151]54276,32:[151]54273,0:[151]54272,0:[142]
  375. 9550 [143] ** BELL SOUND
  376. 9555 [151]54296,15:[151]54277,0:[151]54278,247
  377. 9560 [151]54276,17:[151]54273,40:[151]54272,0
  378. 9565 [129]T[178]1[164]200:[130]:[151]54276,16:[151]54273,0:[151]54272,0:[142]
  379.